「今までなかった!?クラウドオブジェクトストレージのためのセキュリティを紹介」というタイトルで登壇しました
こんにちはコカコーラ大好き、カジです。
6/24に登壇したAWS コンサルティングパートナーがお伝えする最先端のクラウドセキュリティ対策 – S3のファイルは安全ですか?AWSの設定は安全ですか? –の「今までなかった!?クラウドオブジェクトストレージのためのセキュリティを紹介」の内容について解説します。
資料
クラウドストレージ?
Amazon S3 (Amazon Simple Storage Service)
AWSの中核にあるストレージサービス
- AWSのサービス開始当初から存在し歴史が長いサービス
- インターネット経由で利用できるストレージサービス
- データストレージとしてAWSの中核を担う存在
- AWSでシステムを構築する際には、ほぼ間違いなく利用する
Amazon S3 の特徴
イレブンナイン(99.999999999%)の堅牢性
- データをAmazon S3に保存しておけば、データ消失のリスクはほぼゼロに
- Amazon S3では、保存されたファイルをリージョン内で3箇所以上のデータセンターに自動的に複製して保持
- 可用性については99.99%の設計 (データを消失する可能性はほぼゼロですが、年間で計算すると1時間程度Amazon S3のサービスが停止する可能性がある、ということです。)
容量無制限
- 保存できるデータ容量、ファイル数に制限なし
- 従量課金なので使った分だけ料金は発生
- 容量を気にせず使用できることは大きなメリット
- データの総量に対する制限はありませんが、ファイルサイズには1ファイル最大「5TB」までという上限があり
そもそもS3ってどのような場合に利用するのか?
データのバックアップ
- イレブンナインの堅牢性という特徴からデータバックアップストレージとしての用途
- ディザスタリカバリ目的でオンプレミスにあるサーバのバックアップを保存
- 個人でも写真や動画データをS3に保存することも可能
ログデータ等の保存先
- EC2で稼働するアプリケーションのログ退避先
- ビッグデータ分析で使用する生データ(基幹システムのDBからエクスポートしたCSVファイルなど)
- 中間データ(生データを分析用に加工したもの)の保存先
- 各種AWSサービスのログの保存先としてもAmazon S3を利用
コンテンツ配信
- S3に保存したファイルはインターネット経由でアクセス可能
- 「静的ウェブサイトのホスティング」の機能を使うと、S3自体をWebサーバとして機能させることも可能
- Webサイトの静的コンテンツ(htmlファイル、画像ファイル、 javascriptファイルなど)をS3に保存
- S3から直接クライアントに配信可能で、Webサイトをホス トするWebサーバの負荷を軽減することが可能
S3で持っているセキュリティ機能は?
S3のアクセスコントロール
Amazon Macie
- 指定されたS3バケットの機微情報の評価・検出
- 機微情報
- 個人識別情報(PII)
- 金融関連情報
- 認証情報
- 個人識別情報(PII)については、日本の運転免許証などは未対応
今まではどのようにS3のファイルをマルウェアスキャンしていたのか?
S3内ではファイル操作が発生せずファイルが操作・動作しないため直接の影響はないのですが、ダウンロード先で更なる拡散防止のためにお問い合わせ頂き、以下のような構成で面倒だった。
- EC2(アプリケーションサーバなど)でファイル受信した際にDeep Securityなどセキュリティ対策製品でチェックし、その後にAWS SDK/CLIなどでS3へアップロードし保管
- Deep Securityなどセキュリティ対策製品インストールされたEC2からS3のファイルをチェック
S3にアップロードしたオブジェクトはマルウェアスキャンしてくれるの?
S3にウィルススキャンという機能はありません
- S3へオブジェクトをウィルススキャンするには...
- アップロード前にウィルススキャン、アップロード後に別途ダウンロードしてウィルススキャン
- データ管理は利用者側の責任のため、ウイルスチェックが必要な場合はユーザー側での対応が必要
- S3バケット内ではファイル動作・操作しないためウィルスファイルの影響は無い
ダウンロード先で更なる拡散防止
ファイルの受け渡しを行うためダウンロード先でのさら なる拡散を防止したいと希望が多い。 要件に合わせた冗⻑性も検討必要でした。
Cloud One File Storage Security(略称:C1FSS)
フローとアーキテクチャー
- ユーザーがスキャンするファイルをS3 バケットにアップロード
- BucketListenerLambdaは、検出したs3Object CreateイベントからPreSigned URLをSQSに送付
- Scanner Lambdaは、SQS ScannerQueue からPreSigned URLメッセージを取得
- PreSigned URLの場所で S3内のファイルをスキャンします。 ファイルの識別情報をクラウド内のTrend Micro Global Smart Protection Serverに送信します。 Trend Micro Global Smart Protection Serverは、Trend Micro Smart Protection Network (図には示されていない) を利用して、ファイル識別情報 (ファイルではない)の残りのスキャンを実行します。スキャン結果は ScannerLambda に返されます。
- ScannerLambda はスキャン結果をストレージスタックのSNS ScanResultTopicに送ります。 またスキャン結果をFile Storage Securityコンソールに送信します。(コンソールは図には示されていません)。
- SNS ScanResultTopic がタグを設定するLambdaや別のアクションを行うLambdaに通知します。
- PostScanActionTagLambdaの機能は、AWSのタグを使用してファイルにスキャン結果を追加
詳細は以下の資料参照
利用シーン
C1FSSを利用することで、過去Deep Securityを利用するためにEC2を経由していましたが不要になりました。 Transfer for SFTPなどのS3と直接接続するようなサービスでも利用できるようになります。
AWSの利用費は?
1日平均200ファイルをスキャン 平均ファイルサイズ2MB=約50USD/月
(別途Cloud One File Storage Security費も必要)
導入手順(試用版で試せます)
Cloud OneアカウントやAWSアカウント作成を除外すると、10分くらいで構築できます。(C1FSSのCfnスタックの作成をクリック後、7〜8分程度で構築完了)
まとめ
- 導入が非常にカンタン
- サーバレスでS3にアップロードされた時のみ動作
- サーバ運用不要なため構成に影響をあたえず運用